The present invention generally relates to an improved method and system for setting new values for configuration parameters on a device. More specifically, it relates to an improved method and system for setting new values for configuration parameters on a device having cache memory and permanent memory, and using a transaction manager and a plurality of error checks designated to the configuration parameters.
An overall architectural view of the implementation for a prior method is shown in FIG. 1. Conventionally, in order to modify the configuration parameters, for example, a Transmission Control Protocol (xe2x80x9cTCPxe2x80x9d) 10 of a computing or peripheral device, different methods are generally required, depending on the gateway protocol used. As used herein, configuration parameters are instructions or instruction sets that are utilized in carrying out the operation of a specific protocol. For example, when a telnet protocol 12 is used as a gateway to modify a configuration parameter of an IP address for the TCP parameters 10, a telnet configuration method 14 with its own error checking system is used. On the other hand, when a Simple Network Management Protocol (xe2x80x9cSNMPxe2x80x9d) 16 is used as a gateway to modify the same IP address, a different configuration method 18 along with its own error check system is used. In both instances, although the same configuration parameter is being modified, two different methods and error checks are executed.
Similarly, as shown in FIG. 1, the Hyper Text Transport Protocol (xe2x80x9cHTTPxe2x80x9d) 20, the Trivial File Transfer Protocol (xe2x80x9cTFTPxe2x80x9d) 22, the Transport Internet Protocol (xe2x80x9cXIPxe2x80x9d) 24, and the File Transfer Protocol (xe2x80x9cFTPxe2x80x9d) 26 require four separate configuration methods 28, 30, 32, 34 respectively, each having its own error checks and logic to handle the TCP configuration parameters. Even when two gateway protocols, such as the Bootstrap Protocol (xe2x80x9cBOOTPxe2x80x9d) 36 and the Dynamic Host Configuration Protocol (xe2x80x9cDHCPxe2x80x9d) 38, use the same configuration method 40, there are still numerous different error checks and logic being used by the other protocols. To further complicate the system, different methods are used for each configuration parameter within the same gateway protocol. So, with the use of the many different gateway protocols along with their various methods, the error checks, logic, and codes for each configuration parameter become very cumbersome and difficult to handle.
The problem with the prior method is that as a result of using various methods with their own error validation systems, it is hard to keep the synchronization of all the different error-handling codes with each of the protocols. Furthermore, each method has its own interface to access and modify the parameters, creating inconsistent logic during the configuration session. Because of inconsistencies in the use of different error-handling codes and logic for the various methods, network management and troubleshooting of these configuration parameters are unnecessarily complicated.
Yet another problem is that each of the methods implements its own caching mechanism to temporarily buffer the user-specified data. Although the user-specified data is eventually moved from the cache memory into the permanent memory, the multiple caching by the various methods causes unnecessary duplication of codes. In addition, the codes are more complex and hard to handle as a result. Furthermore, it may result in a race condition when two separate methods are trying to save the same parameter simultaneously.
The present invention is directed to an improved method and system for setting new values for configuration parameters on a device. More specifically, it relates to an improved method and system for setting new values for configuration parameters on a device having cache memory and permanent memory, and using a transaction manager having a plurality of error checks selectively designated to the configuration parameters.
The present invention provides a method that includes the steps of providing at least one new value for one or more configuration parameters, determining an error check designated to each configuration parameter provided with a new value, performing the error check(s) determined for each of the configuration parameters, setting the new value(s) for the configuration parameter(s) in cache memory of the device, determining whether the new value(s) is/are being committed to the device, and saving the new value(s) from the cache memory to the permanent memory when the new value(s) is/are being committed to the device.
The present invention also provides a system that includes a transaction manager module for creating a unified session of configuring new values for the configuration parameters on the device, a list of error checks designated to the configuration parameters on the device, a cache memory for storing the new values of the configuration parameters during the unified session, and a permanent memory for saving the new values of the configuration parameters once the new values are committed to the device.